Section 5: Software Issues.


5.1) Why does DOSFS corrupt my files occasionally?

Under RISC OS 3 DOS, and indeed with any other ImageFS filing system, discs are treated as one large file and ADFS applies write-behind buffering to nearly everything it does. (See the question on ADFSBuffers for more details about this.) This means while working on a DOS disc the entire disc is treated as one large open file.

However as long as a file is held open the cache is not flushed out fully till the machine is explicitly told to do so. This means when working with non-ADFS format discs always dismount them before removing them from the drive. With ADFS format discs this is not so critical, as files aren't held open during most operations on them, but it is good to get into the habit of dismounting floppy discs.

Return to the index.

5.2) Where can I obtain the latest version of module X?

All patch modules, official Acorn OS extensions and the like can be sourced from the Acorn ftp sites. Ideally your dealer will also have copies of them too and you should be able to obtain them from them. (If they don't you may like to pass on the ones from the ftp site, if you request them, so that they are up to-date.)

I am also in the process of compiling a complete list of up-to-date module version numbers, together with links to where you can download them from. This database is online at http://www.vigay.com/riscos/mods.html.

Return to the index.

5.3) What are the current File-type allocation ranges?

Acorn have reallocated the File-type ranges for applications. The new ranges are :-

  Non-user area

    &E00-&FFF   Acorn
    &B00-&DFF   Commercial software
    &A00-&AFF   Acornsoft, and other commercial software
    &400-&9FF   Commercial Software

  User area

    &100-&3FF   Non-commercial distributed software (ie PD)
    &000-&0FF   User's personal usage (ie non-distributed)
75% of the user area is for PD/Shareware, with allocations co-ordinated by Acorn. If your software is going to be distributed, you should have an allocated filetype to avoid clashes.

Acorn cannot publish it's master list of filetypes because, at any given time, it will contain allocations made for products which have not yet been announced. Therefore, Acorn would be in breach of confidence by doing so - and the editing overhead for producing a sanitised list is too great.

However, all is not lost. Denis Howe maintains an unofficial list of filetype allocations. This can be found at http://wombat.doc.ic.ac.uk/acorn/doc/filetypes and includes details about whether the allocation is an official one, a de facto one and what the file contains.
If you would like an official 'Acorn' filetype issued to you, you should contact Pineapple Software, who are responsible for allocating filetypes.

Return to the index.

5.4) Is there a Modula 2 compiler for the Arc?

Currently, no. Acorn did have, in the early days of the experimental ARM work, an in house compiler. However this compiler was sufficiently unstable and buggy to be un-releasable as a commercial product and was only used because in house support was available immediately to the users of the compiler. When Olivetti invested in Acorn this technology went to them so that Acorn no longer have even an in house Modula 2 compiler.

However some companies have stated intentions to produce Modula 2 compilers for the Arc. Whether these intentions become reality has yet to be seen.

Return to the index.

5.5) What Public Domain Languages are available for Acorn machines?

The answer to this is a list that is maintained by Gavin Wraith (gavin@wraith.u-net.com). Accordingly updates, corrections and other comments should all be sent to him.


May 1997
This is a (necessarily partial) list of freely available programming languages and programming tools for Acorn Risc OS computers. Some of the items are in the public domain, some are not. I am well aware that many of the items are also available in many other places. I will be grateful to receive emendations and further items. Remember that hensa is mirrored at

ftp://ftp.doc.ic.ac.uk/computing/systems/archimedes/collections/hensa/riscos

gavinw@sussex.ac.uk.

Menu

Further information
Return to menu.
Imperative Languages
ADA bytecode interpreter
From ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c052.
ADA GNAT 3.01 compiler
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e095.
ALGOL 68S
From ftp://ftp.cs.man.ac.uk/pub/chl/A68S
CHARM
From David Pilling
ICON 9.1
By ftp from ftp:cs.arizona.edu. or ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e116.
G77 0.5.19 GNU FORTRAN
From ftp://ftp.sp.ph.ic.ac.uk/pub/tsh/fortran.zip.
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e167.
GCC GCC 2.7.2 GNU C, C++, Objective C Compiler, release 1.0.7
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b013.
OBERON POT 1.33 (Portable Oberon Translator)
From ftp://micros.hensa.ac.uk/micros/arch/riscos/d/d132.
PASCAL PC 4.09 Norcroft DDE Compiler
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a122.
 PASCAL GPC 1.0.2 - Gnu Pascal Compiler
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e168.
PERL 5.01
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a049.
PYTHON 1.42b
From ftp://ftp.infc.ulst.ac.uk/pub/users/chris
RLAB 1.25
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e022.
TCL 7.4
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e057.
Return to menu.
Object Oriented Languages
ARMBOB 2.1
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b178.
GC++ GNU C++ 2.7.2
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b013.
GNUST 1.1.1 Smalltalk-80
From ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c045.
GRS
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b062.
LITTLEST 0.0 Little Smalltalk
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a102.
OBJECTIVE C GNU 2.7.2
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b013.
SATHER ISCI Sather 1.1
Mail to Peter Naulls
SQUEAK Smalltalk 1.18
From http://sumeru.stanford.edu/tim/pooters/squeak.html
Return to menu.
Declarative Languages
BIBPROLOG 3.30
From ftp://micros.hensa.ac.uk/micros/arch/riscos/d/d005.
GOFER 2.30a (GoOd For Equational Reasoning)
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a262. See comp.lang.functional FAQ.
HOPE 4.02a
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a139.
HUGS 1.3 (Haskell Users Gofer System)
From ftp://micros.hensa.ac.uk/micros/arch/riscos/d/d041. See comp.lang.functional FAQ.
HU-PROLOG 1.62 Humboldt University Prolog
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e062
SML 4.0.01 Edinburgh Interpreter
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a216.
Return to menu.
Forths
AFORTH 0.70
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a293.
FORTHMACS 3.1
From ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c073.
TILEFORTH 2.1 Portable C implementation
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a111.
WIMPFORTH 1.0
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e096.
Return to menu.
Lisps
CLISP 01.01 Common Lisp
From ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c189.
FOOLSLISP 1.3
From ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c162.
GNU SCHEME
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b105.
SIOD 2.90 (Scheme In One Defun)
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a275. Also see George Carrette's site.
XLISP 1.60
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a103.
XLISP+
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b076.
Return to menu.
ARM AOF Assemblers
AOFLIB 0.07 create AOF files with the Basic Assembler.
From ftp://micros.hensa.ac.uk/micros/arch/riscos/e/e108.
AS 1.26b
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a132.
ASM 2.01
From Plasma Sphere BBS (tel.+44 1925 757920/1)
EXTASM 1.00
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b120
TLA 0.2a (The Last Assembler)
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a119.
Return to menu.
AOF Tools
ADDFILE 0.05
From Plasma Sphere BBS (tel.+44 1925 757920/1). Embed data in AOF files.
DECAOFB 1.00 - decode AOF files.
From ftp://micros.hensa.ac.uk/micros/arch/riscos/d/d038.
DISASMAOF 1.31
From Archinet BBS (+44 1233 665918)- disassemble AOF file to Objasm source.
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b154
DRLINK 0.28 Linker
From ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b071 and
From Plasma Sphere BBS (tel.+44 1925 757920/1).
MAKEALF 1.03 - tools for Chunk files.
From ftp://micros.hensa.ac.uk/micros/arch/riscos/d/d039.
Return to menu.
Miscellaneous
J 6.2 (APL-like language)
From ftp://micros.hensa.ac.uk/micros/arch/riscos/a/a165.
Return to menu.
Return to the index.

5.6) Why does the RO3.5 desktop sometimes revert to the system font?

This is due to a bug in the RISC OS 3.5 Wimp module. Applications that have outline fonts in their icons and a validation string of R5 or R6 (slabbed icon) will trigger this bug and cause the desktop to revert to the system font. There are two solutions to this problem depending on your level of computer literacy.

The easiest solution, for people who are very shy of template editors, is to complain to the author(s) of the application about this problem and get them to fix it. If you are not shy of template editors you could also go in and edit the applications templates so that none of the slabbed icons have outline fonts in them.

Return to the index.

5.7) Why does ChangeFSI display a blank white window, not an image?

Version 1.13S of ChangeFSI now has the RISC OS 3.6 JPEG support built into it. However the code has been designed to fail 'gracefully' if the support code is not available in the OS. For instance when you run the software on versions of the OS older than RISC OS 3.6. In this case a blank white window is displayed.

To regain normal use of ChangeFSI go to the main menu and select Sprite Output instead of JPEG output. Next time you load a picture, or re-process the current one, an image will be displayed. The JPEG Output option is not greyed out because even though no image is displayed you can still save the processed file as a JPEG.

For those of you with RISC OS 3.5 the module can be obtained from Acorn's FTP sites at :-

ftp://ftp.acorn.com/pub/riscos/releases/spriteextend.arc

This can be softloaded in your Boot.PreDesk sequence to use it.

Return to the index.

5.8) What causes the 'nager:Sprites22' error?

This is both a tricky and simple question to answer. The cause of the error is unknown, but something is erroring. However rather than displaying the error message RISC OS has a subtle bug in it that causes it to display the above error message instead. The sequence goes like this :-

Unfortunately the process of loading the his-res toolsprites over-writes the buffer containing the original error block. (IE the block of memory with the error number and error message in it.) What it overwrites it with is the string 'WindowManager:Sprites22', which is a path reference to where the hi-res toolsprites are to be found.

This error has been corrected in RISC OS 3.60 and, presumably, future versions of the OS. (Thanks go to Alan Glover for this information.) Additionally the error can be provoked by conflicting versions of the DrawFile module being loaded. If you are experiencing this error message then it is worthwhile to scan your hard drive looking for all copies of the module and ensuring they are consistantly the latest version of the module.

Return to the index.

5.9) Is there a Real Audio or Real Video player for Acorns?

Currently, sort of. A Real Audio player exists for NCOS but this is not useful for most RISC OS machines due to it's dependance on the presence of hardware Floating Point. An integer arithmetic version has been made by Warm Silence Software for StrongARM equipped machines but it currently cannot be released due to licensing issues.
However, Kira Brown is currently porting an Amiga RA player to RISC OS and you can download the latest version from her web site at http://www.neutralino.demon.co.uk/.

Return to the index.

Return to Index page
Comments and Feedback